Computing systems can contain heterogeneous processors. For instance, general and special processors such as a graphical processing unit (GPU), field programmable gate array (FPGA) may together make up a computing system. Another example of a hybrid system is zEnterprise BladeCenter Extension (zBX) infrastructure from International Machines Corporation (IBM®), Armonk, N.Y., which infrastructure includes system Z196, X86 blades and Power7 blades; the Z196 and blades are connected by private network. With emerging commercial workloads processing massive data and demanding CPU cycles, more and more successful applications could benefit from running on hybrid systems.
Data locality is one factor that determines software performance in such hybrid systems. Data locality means that data requested by applications are preferentially from filesystems which are local to where they are consumed. There are known solutions for leveraging data locality to improve distributed software performance. However, they do not consider other types of locality associated with hybrid systems.